home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
130b_31.zip
/
QM.DOC
< prev
next >
Wrap
Text File
|
1993-01-06
|
85KB
|
3,005 lines
QM, the Complete EchoMail Processor
version 1.30
January, 1993
v1.00 Documentation originally by Bob Davis, Fidonet node 1:106/114
v1.30 Documentation by George Peace
Copyright 1993 by Greg Dawson and George Peace -- All Rights Reserved
QM v1.30 January, 1993
Contents
New in Version 1.30..................................................3
Fixed in Version 1.30................................................3
Introduction.........................................................5
About This Documentation...........................................7
Conversion from older QM versions....................................7
QMlite for memory on a diet..........................................7
Installation.........................................................8
Files Included.....................................................8
Command Line Options.................................................9
Configuration File..................................................12
General Configuration Information.................................12
Point Operation...................................................16
EchoMail Tosser...................................................17
EchoMail Scanner..................................................21
Matrix and Outbound Mail Packer...................................23
Packet Forwarding.................................................26
Routing File........................................................28
General Rules for Routing File Commands...........................28
Exit Errorlevels....................................................36
Origin Lines........................................................37
NetMail Message Processing..........................................38
File Update Requests..............................................38
File Requests.....................................................38
File Attach.......................................................38
QM Licensing and Distribution Agreement.............................39
Technical Support...................................................41
Appendix A, Limits and Sizes........................................42
Memory Requirements...............................................42
Configuration File Limits.........................................42
Routing File Limits...............................................43
Appendix B, Other Technical Notes...................................44
Duplicate Checking................................................44
Point Readdresser.................................................45
Tossing Compressed Mail in Date/Time Order........................45
Node Number Syntax Shortcuts......................................45
Large Messages....................................................45
No Content Messages...............................................46
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 2
QM v1.30 January, 1993
New in Version 1.30
- QM processes up to 2048 echomail areas.
- NetMail and EchoMail messages as large as 30k are processed.
- QM can swap itself to EMS or XMS or disk during shell operations.
- Qm_route.Cfg "Dos" directives are executed every time MaxMsgs
packing is performed rather than only after all mail has been
tossed/scanned.
- LHA and ARJ compressed mail is recognized and processed.
- Missing Outbound.### directories are created as needed.
- QM can generate outbound mail using aka address matching by zone.
- RouteThru echomail is available for defined destinations. Routed
echomail from non-defined addresses can be removed.
- The scan buffer size can be set to 32k or 64k for thruput
improvement. The buffer was 20k in v1.00.
- Compressed mail can be deleted between unpack and toss for better
disk management and less complicated recovery.
- Outbound mail to any address can be directed via file-attach Net
Mail messages.
- QM can do message reply link operations of areas tossed, using
lists, or using Areas.Bbs.
- Individual duplicate checking files (Qdupes.Dat) are replaced by
the optional single Qmdupes.Dat database. Directories are no
longer needed for passthru areas.
- The UNPACK command line option invokes QM to unarchive compressed
mail bundles and exit without tossing mail. QM exits with
errorlevel 7 if compressed mail was unarchived.
- The maximum archive file size can optionally be set for outbound
compressed mail.
- Outbound compressed mail archives can optionally have up to 36
unique file extensions a day (MO0-MO9 and MOA-MOZ).
- Non-configured inbound routed EchoMail can optionally be deleted
as it is unpacked to avoid clogging the NetMail area.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 3
QM v1.30 January, 1993
Fixed in Version 1.30
- Areaname lookup does not crosslink areas if CRCs match.
- Echotoss.Log can be generated without Qm.Log.
- Message header dates are not mangled during processing.
- Maxmsgs exit errorlevel is now 5 as documented.
- Maxmsgs exit now flushes statistics to Qm.Log.
- Areas.Bbs files larger than 64k can be used.
- Bundle and packet filenames beginning with - are ignored.
- Files that are not identified as recognized archive types are
logged when renamed to allow tracking and recovery.
- Duplicate detection no longer uses EID kludge lines or
information from the message body. This reduces false dupe
conditions.
- Inbound mail is always tossed in true date/time sequence instead
of time within day of week beginning with Sunday.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 4
QM v1.30 January, 1993
Introduction
QM is a flexible EchoMail processor and NetMail message bundler that
will work for virtually all Fidonet compatible mail needs ranging from
the individual point system to very large echomail distribution
systems. It has many options, but you do not need to understand or use
them all. Begin with the basics and let QM help you grow.
For ease of installation on a point or boss node system pre-configured
files are included that you can quickly edit for these special needs.
- Message import and export
- Point readdressing
- Mail bundle compression and routing
- Message reply linking
Here's a highlight of some of QM's capabilities:
- A one-pass or two-pass echomail scanner/tosser with the ability
to handle pass-through message areas.
- A fully zone aware schedule based matrix message packer and
bundler.
- Ability to pack and unpack all types of ARC type bundles as well
as ZOO, ZIP, LHARC, LHA, and ARJ type bundles.
- Up to 64 echomail Zonegates.
- Up to 64 "Tiny_Seenby" nodes.
- Ability to forward entire mail packets as received.
- Ability to forward files.
- Point operation.
- Status log file reporting.
- Ability to save duplicate messages and to kill duplicate messages
based on as many as 10,000 messages per area.
- Ability to use a different Origin line for each zone in each
echomail area.
- Extensive security options for the echomail distributor or net
host.
- Ability to handle file update requests.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 5
QM v1.30 January, 1993
- Extremely fast, efficient operation.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 6
QM v1.30 January, 1993
About This Documentation
This document is a reference manual, not a tutorial on netmail and
echomail.
Several examples are included in Appendix C to help you set up QM.
Conversion from older QM versions
QM version 1.30 is nearly a one-for-one replacement for versions 1.00
and 1.00.
The only change recommended is to delete all Qdupes.Dat files from
your message directories. This version of QM collects duplicate
information differently than previous versions so previously recorded
data will not match v1.30 calculated values.
QMlite for memory on a diet
Version 1.30 of QM has more features and greater capacity than the
previous version. As a result it uses more memory. It is possible that
Qm.Exe may not be fully functional in a limited memory environment
such as under DoubleDOS.
If memory availability is a problem QMlite.Exe is available. QMlite
has all the same features as QM but will only recognize up to 512
areas, will only accept messages up to 16k, and uses small toss/scan
buffers.
In general, if you have at least 400k available and use SWAP in QM.CFG
QMlite should not be needed.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 7
QM v1.30 January, 1993
Installation
Files Included
Your QM installation kit is distributed in a single compressed library
file containing these files:
READ.ME Introductory comments
QM.EXE Main program executable
QMLITE.EXE Lower capacity QM for limited memory
environments
QM.DOC This documentation file
QM.CFG Sample configuration file for QM
QM_ROUTE.CFG Sample routing configuration file for
the PACK option of QM
The installation steps are:
1. Place the files QM.EXE, QM.CFG, and QM_ROUTE.CFG in your mailer
root directory.
2. Edit the .CFG files with any ascii text editor to meet your
specific configuration needs.
3. Create an AREAS.BBS file (see page 5) with any text editor in
your mailer root directory.
4. Edit batch files to invoke QM to handle your mail processing
tasks such as:
incoming mail processing
automated scheduled scanning of your echomail areas
scanning and packing mail after new messages are created on your
system
automated scheduled file updates or file requests or file
attaches.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 8
QM v1.30 January, 1993
Command Line Options
USAGE: QM <[TOSS] [SCAN] [PACK] [LINK] [UNPACK]> [-c<CfgFile>] [-
a<AreasFile>] [-f<TossLog>] [-h<#>] [-o] [-z] [-s<schedule_tag>] [-n]
[-q] [-b] [-k]
TOSS This enables the tossing function only.
SCAN This enables the scanning function only.
PACK This enables the matrix message packer and bundler.
LINK This enables message a reply link operation for areas tossed if
used with TOSS or it will reply link a list if used with the -
f<TossLog> command line parameter.
LINK This triggers QM to unpack all compressed mail archives and exit
without processing mail.
-c<CfgFile>
The default configuration file QM will look for is "Qm.Cfg" in the
default directory. Use this command if you'd like to specify a
different file name or directory. Example: -cC:\Config\QM_1.Cfg
-a<AreasFile>
The default EchoMail control file QM will look for is "Areas.Bbs" in
the default directory. Use this command if you'd like to specify a
different file name or directory.
The basic format for the EchoMail control file is as such...
[#]<Subdirectory> <Area name> <scan nodes>
Here's a short example:
Highway 17 ! Greg Dawson
;
; The first line must ALWAYS be your board name
; followed by an '!' (exclamation point), followed by
; the sysop's name. In case you had not noticed, any
; lines beginning with a ';' character
; are treated as comments. Comment lines can appear
; anywhere in the file except before the mandatory
; identification line.
;
D:\Msg\Comm COMM 106/111 889 504 124/2 3 4
;
; This is an example of a pass-through area. The # in
; the first position flags it as pass through:
;
#D:\Msg\R19_Sysop R19_SYSOP 106/111 124/2
^Z
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 9
QM v1.30 January, 1993
-f<TossLog>
Instead of having the program scan all the areas in the EchoMail
control file during a "QM SCAN", the program can alternately only scan
those which are specified in this file. You might call this sort of a
"short scan".
You may wish to use the configuration file command "Echo_Toss_Log".
One line is written to the file for each area name tossed by QM. The
format of the file is:
<area_name><CR>
<area_name><CR>
etc...
-h<#>
If you use more than 1 EchoMail control file (for whatever reason),
you may wish to keep more than 1 set of high water markers. QM can
keep track of up to 2 for you. Example: -h2
-o
This command will toggle the configuration file "secure" mode option.
In other words, if you specify "secure" mode in the configuration file
=and= use the '-o' switch, you won't be in secure mode. By the same
token if you don't specify "secure" mode in the configuration file
=and= use the '-o' switch, you'll be in secure mode.
-z
When doing a "QM SCAN", this option tells the program to only scan
non-passthrough areas.
-s
<schedule_tag> When you specify "PACK" on the command line (along with
any other function) you may override the scheduler and execute a
specific schedule tag. If you need more help schedules, see the
Routing File "SCHED" command.
-n
If you don't want "QM PACK" to forward matrix messages specify this
option. You may also want to see the RoutingConfigFile "FORWARD-TO"
and "FORWARD-FROM" commands.
-q
This turns on "quiet mode". The program will display very little
information when it's running. Processing time is reduced up to 20%
with this option enabled.
-b
By using the '-b' command line parameter, you tell QM to only toss
.PKT files in both the current and NetFile directory. It will ignore
any ARCmail bundles.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 10
QM v1.30 January, 1993
-k
This triggers deletion of echomail messages sent through your system
as routed netmail not sent to any of your addresses and not explicitly
configured to allow EchoMail routing through your system.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 11
QM v1.30 January, 1993
Configuration File
General Configuration Information
PRIMARY_ZONE <#>
This is your primary zone number. Anytime you specify a network number
in the configuration file or EchoMail control file that doesn't
include a zone (i.e. 106/111 instead of 1:106/111), QM will default
the zone to the "Primary_Zone" number. The exception to this is when
you have multiple network numbers on a line and specify the zone in
the previous entry. In other words:
; These are interpreted as zone 2 nodes
;
2:10/10 10/11 12
;
; These are interpreted as "Primary_Zone nodes
;
10/10 10/11 12
ADDRESS <z:net/node>
This is your primary network address. Be sure that the zone number in
your primary address is the same as your primary zone.
AKA <z:n/n> Limit: 19 addresses, 1 per line
These are additional "aka" network addresses.
ADD_TO_SEEN <nodes...> Limit: 10 addresses on 1 line
By default, QM will always add your primary address to message seen-
by's. You can specify additional nodes to add to the seen-by's with
this command. All Add_to_Seen addresses must be on a single line in
Qm.Cfg. If multiple lines are found only the addresses on the last
line will be used.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 12
QM v1.30 January, 1993
CHECK_ZONES
This tells QM to include the zone field in the packet header when
checking addresses. This option should be used cautiously because many
older mail packers do not recognize the zone field. If you receive a
message with a zone number of 0 and you have this option enabled, QM
will assume the zone is your primary zone number.
NETMAIL [option] <directory> Limit: 1
This is the path to your net mail directory. The option field can be:
NOSCAN Do not scan Net Mail found in the directory unless
explicitly requested via the Qm_Route.Cfg Netmail_Scan
directive. This allows controlled operation in a file-attach
outbound environment.
NETFILE [option] <directory> Limit: 10
This is the path to the incoming net file directories. This is useful
for secured netfile areas as supported by such mailers as BinkleyTerm.
Options are:
NOTOSS Do not toss ANY mail from this directory.
NOPKT Do not toss normal mail packets from this directory.
NOARCMAIL Do not toss compressed mail bundles from this directory.
OUTBOUND <directory> <zone> <nodes...> Limit: 10
This specifies the outbound mail path for each zone. The 'Nodes' field
is optional. QM will default to the LAST directory listed when packing
outbound mail. It's important to remember these outbound areas are
intended for multi-line systems. If you don't have a multi-line
system, only use 1 entry and don't specify anything in the 'Nodes'
field.
Remember too that the primary directory is just that. QM will look for
the corresponding zone directories off that primary directory FOR EACH
ENTRY.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 13
QM v1.30 January, 1993
IMPORTANT: DO NOT USE A DIRECTORY NAME THAT CONTAINS AN EXTENSION,
I.E., 'C:\OUTBOUND.002'!! QM uses the extension field as a three digit
hexidecimal representation of the destination zone.
STATUS_LOG <file>
QM will keep a fairly detailed text based log of its operation and
error conditions in this file. If you comment this line out there will
be no log file!
SYSOP <sysop name>
Your name. This is required.
SWAP
If this directive is used (uncommented) QM will swap itself to EMS or
XMS or disk (in that order as available) during unpacking (TOSS),
packing (PACK), and DOS shell operations. The swap operation frees all
available memory for shell activities except for a 3k unswap routine.
In cases where specific swap operation is either wanted to required
SWAP accepts an optional parameter defining the type of memory or the
swap search sequence. The parameter is numeric in a bit-mapped format
such that values are added to achieve the effect you want...
For swapping, the swap argument must contain a combination of values:
0 turn off swapping (same as commenting out the SWAP line)
1 allow EMS swap
2 allow XMS swap
4 allow File swap
7 allow EMS, XMS, and File swap (default if no value is given)
The order of trying the different swap methods can be controlled with
one of the values:
7 EMS, XMS, File (default)
16 XMS, EMS, File
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 14
QM v1.30 January, 1993
In other words...
SWAP 3 EMS or XMS but not File (1 + 2)
SWAP 5 EMS or File but not XMS (1 + 4)
SWAP 4 Always swap to File
SWAP 16 Try XMS, then EMS, then File
If swapping is to File, the attribute of the swap file can be set to
"hidden" so you are not bothered by strange files appearing out of
nowhere by adding 64 to the value.
SWAP 69 EMS or File but not XMS (1 + 4 + 64)
SWAP 68 Always swap to File (4 + 64)
SWAP 80 Try XMS, then EMS, then File (16 + 64)
The swap routine will normally "preallocate" the swap file in order to
operate faster. The behavior on Network drives can be changed by
adding 256 to never preallocate or 512 to not preallocate if on net.
This checking for Network is mainly to compensate for a strange
slowdown on Novell networks when preallocating a file. You can either
add 256 to avoid allocation in any case, or 512 to let the prep_swap
routine decide whether to do preallocation or not depending on the
file being on a network drive (this will only work with DOS 3.1 or
later).
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 15
QM v1.30 January, 1993
Point Operation
BOSS_NODE <zone:net/node>
If you're operating as a point system, then specify your boss's
address here. If you're not a point system then leave it commented
out.
POINT_NETWORK <net>
If you're the boss of a point network system, specify your private
point network number here. This is very important. It allows QM to
strip any private net numbers out of the seen-by's of outgoing
messages. The private net addresses will remain in .Msg files on your
system but will not appear in outbound mail bundles.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 16
QM v1.30 January, 1993
EchoMail Tosser
SECURE
When in secure mode QM will not toss messages into an echomail where
the sending node is not listed as a recipient of the echo (as per the
echomail control file nodes). This prevents unauthorized nodes from
entering messages into echoes on your system accidently.
This command also tells QM to check packet header passwords. See the
Config file command "Password".
The command line -T switch can be used to reverse this setting for any
QM execution.
BAD_MSGS <directory>
When QM encounters an echomail message that is either "unsecured" (see
above) or is in an unknown area it will be tossed to this directory
for inspection by you.
SAVE_DUPES <directory>
Normally QM will skip over duplicate messages. Use this command if you
would rather save them instead. If you do save duplicate traffic watch
this directory closely so a situation where many duplicate messages
arrive will not disable your system.
DUPES <number> Default: 2000 Limit: 2 - 10000
The default number of duplicate messages remembered is 2000. Use this
command if you'd like to change that figure. Be aware that each dupe
record takes up 6 bytes. Thus a 2000 record dupe file will be 12000
bytes in size and a 10000 record file will be a whopping 60000 bytes
in size (which will severely hamper the time it takes to switch areas
when tossing).
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 17
QM v1.30 January, 1993
NO_NET_DUPES
If any echomail dupes end up in either the Bad_Msgs or Netmail
directory, QM will kill them with this option enabled.
NO_CONTENT
This tells QM to not toss Netmail messages that have no body.
NO_NET_TOSS
This tells QM to never toss echomail messages from the Netmail
directory.
KILL_COMPRESSED_MAIL <BEFORE> TOSSING PACKETS
KILL COMPRESSED MAIL <AFTER> TOSSING PACKETS
QM can delete compressed mail archives immediately after unarchiving
and BEFORE processing packets or it can delete them AFTER all unpacked
mail has been processed. There are advantages to both ways. AFTER
tossing means the compressed mail will be kept until all packets have
been successfully processed. BEFORE tossing conserves disk space and
means the compressed file will not be processed again in case QM
execution ends unexpectedly.
ECHO_TOSS_LOG <file>
QM can keep a log of which areas were tossed to in this file. Use it
in conjunction with the command line '-f' option for doing a "short
scan". When in "TOSS SCAN mode", QM does not log areas which are
designated as passthrough, since there will be no messages in the area
on which to operate.
OPUS_DATE
If you want QM to create the Opus style binary time stamps in .MSG
headers stored on disk, enable this option. This does not affect
outbound packet content.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 18
QM v1.30 January, 1993
STRIP_CRASH
This option will cause QM to strip CRASH, DIRECT, and HOLD bits on
inbound network or wrongly addressed mail.
NET_SENT
This option will cause QM to mark any network mail addressed to either
your primary address or any of your aka's with the SENT flag. If you
use a packer other then QM PACK you may want to use this option to
prevent aka mail from being repacked. Do not use this option if you
use QM PACK with the POINT READDRESSER.
CONFERENCE_MERGE
When QM is running, it keeps a table in memory of how any messages are
in each area. This speeds up the time it takes to switch areas. It can
present a problem when you're merging two conferences to one
subdirectory. Messages will overwrite one another.
Specifying this option will force QM to physically count the number of
messages in each area every time it switches areas.
PASSWORD <zone:net/node> <password> Limit: 128
If you're running in secure mode, you may want to password protect
your mail packets. This allows the highest level of security with
regards to unauthorized echomail area access. Be sure, however, that
both the sender and receiver have the same password!
Also it should be noted that only the first 6 characters of the
passwords are significant and should be case insensitive. At least
they are in QM.
ARC_UNPACK <highest_method> <command> <arguments...>
ZOO_UNPACK 0 <command> <arguments...>
ZIP_UNPACK 0 <command> <arguments...>
LHARC_UNPACK 0 <command> <arguments...>
LHA_UNPACK 0 <command> <arguments...>
ARJ_UNPACK 0 <command> <arguments...>
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 19
QM v1.30 January, 1993
QM has the ability to distinguish between ARC, ZOO, ZIP, LHARC, LHA,
and ARJ type inbound mail files (archives). With ARC type files, it
can determine what packing method was used and invoke the appropriate
program to unpack it.
BE VERY CAREFUL WHEN CHANGING ANY OF THE DEFAULT UNPACKING COMMANDS.
Here's some example entries for 'ARC_Unpack':
ARC_UNPACK 8 arce %s *.PKT /r
ARC_UNPACK 9 pkxarc /r %s *.PKT
ARC_UNPACK 10 pak e %s *.PKT
ARC_UNPACK 20 arc7 e %s *.pkt
Here, QM will use the 'arce' program to unpack anything with a
compression method of 8 or lower, 'pkarc' with 9 or lower, 'pak' with
10 or lower, and 'arc7' with 20 or lower. Notice the "%s" symbol in
the command arguments. This tells QM where to insert the archive name
when invoking the program. As an example, when unarcing the file
'C:\Net\File\00010001.MO0' the command QM uses would look like this:
arce C:\Net\File\00010001.MO0 *.PKT /r
Here are the current packing methods for ARC type files:
Method: Name:
1 Stored
2 Stored
3 Packed
4 Squeezed
5 Crunched
6 Crunched
7 Crunched
8 Crunched
9 Squashed
10 Crushed
20 Arc Plus (Arc 7)
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 20
QM v1.30 January, 1993
EchoMail Scanner
NETMAIL_PRIVATE_ECHOMAIL
When a user replies with a PRIVATE message in an echomail area, this
option will forward that local reply via netmail. The reply will be
sent to the net/node listed in the Origin line of the original
message.
This option will help insure that a special message gets to someone
who may not see it in an echomail area. For example, a user might
report a serious bug in QM in a public echomail conference. The
message could be marked private. With this option enabled, QM would
forward the private message via direct netmail.
The message is sent via netmail to the address that appeared in the
origin line of the message to which you reply. You may utilize all
attributes that could be used in a netmail message, such as file
attach, crash, kill/sent, etc.
NO_PRIVATE_ECHOMAIL
If this option is enabled, QM will not "echo" any private messages in
an area to other nodes. This is true, even if the area is a
passthrough area.
MAX_MSGS <#>
When QM is scanning (or toss/scan), it will stop when it reaches '#'
number of messages exported. This is the =total= number of messages
exported. Leave it commented out if you wish to always export all
messages.
If you do happen to reach the maximum while doing a toss/scan (one-
pass mode), QM will continue to toss the remaining .PKT's, it just
won't scan them. You'll have to do a manual scan.
If you're running "TOSS SCAN PACK", QM will go bundle the mail and
return to the place it left off in the current packet.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 21
QM v1.30 January, 1993
BUFFERSIZE MEDIUM
BUFFERSIZE LARGE
This parameter helps control the amount of memory used by QM during
SCAN operations. The medium buffer size is 32k and the large buffer
size is 64k. Use the large buffer size to improve QM performance. QM
lite ignores this setting and used the medium buffer size. Buffersize
Small is not supported.
ZONEGATE <zone:net/node> <nodes...> Limit: 64 w/16 nodes per gate
QM has the ability to act as an echomail zonegate for up to 64 nodes.
The seenby's on any echomail messages destined for the zonegate will
behave such that:
1) All current seen-by nodes will be stripped off.
2) All nodes listed after the configuration file "ZoneGate" command
will be added. This includes the address being zonegated "to".
Since the current seenby structure does not support zones, the zone
number for the nodes in either the echomail control file or after the
"ZoneGate" command (with exception of the zonegate node itself) are
not used.
TINY_SEENBY <nodes...>
Any nodes listed here will receive "tiny" seenby lines.
Here's what will happen:
1) All current seen-by nodes will be stripped off.
2) Any nodes listed for the echo in the echomail control file will
be added along with the primary address and "AddToSeen" nodes.
HIDE_AREA
Generate all outbound EchoMail with ^aAREA: control lines rather than
AREA: [without the control-A].in the message body. This capability is
provided in case the control-A format becomes a requirement. Use this
with caution only after coordinating the change with all of your
echomail connections.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 22
QM v1.30 January, 1993
HIDE_SEENBY
Generate all outbound EchoMail with ^aSEEN-BY: control information
rather than SEEN-BY: [without the control-A]. This capability is
provided in case the control-A format becomes a requirement. Use this
with caution only after coordinating the change with all of your
echomail connections.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 23
QM v1.30 January, 1993
Matrix and Outbound Mail Packer
SAVE_FORWARDED_MAIL
When mail is forwarded ("in-transit"), by default, it is deleted. If
you wish to retain the forwarded messages for examination, enable this
option.
OLD_ARCMAIL_EXT
When packing outbound mail, QM will use the Day Of Week extensions for
archived mail which are: MO, TU, WE, TH, FR, SA, and SU. If you wish
to only use the MO extension, specify this option. As of this writing,
a pure Opus 1.03b system can only handle MO extensions, so its a
friendly gesture to use OldArcMailExt, if you feed mail to them.
NEW_ARCHIVE_EXT
Use this parameter to generate up to 36 unique file extensions on
outbound compressed mail a day (eg TU0-9 and TUA-Z) instead of up to
ten a day (eg WE0-9). This allows more control over the size and
number of outbound bundles for downlinks. Use this parameter
carefully, making sure your downlinks can all accept compressed mail
files with these filename extensions.
COMPRESSED_MAIL_MAX_BYTES <number>
This parameter triggers QM to start a new outbound compressed mail
bundle whenever the current file exceeds this number of bytes. This
helps manage outbound flow on your system and makes files transfers to
your downlinks more easily recovered if the transfer is aborted.
ROUTING_CONFIG_FILE <file>
This file contains the routing and bundling information for the
packer. For more information, see the section titled "ROUTING FILE" on
page 20.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 24
QM v1.30 January, 1993
NO_FORWARD
This instructs QM to =never= forward net-mail to other nodes that
didn't originate on your system. You might also want to see the
"FORWARD-TO" and "FORWARD-FROM" commands under the section titled
"ROUTING FILE" on page 20.
KILL_FORWARDED_FILES
This option will kill any forwarded file attaches by inserting a carat
(^) in the file attach, e.g.,
^C:\FILES\NET\GOODIE.ARC
Mailer programs like BinkleyTerm will recognize the carat as the
command to delete the file after it has been transmitted. (Also refer
to the FORWARD-TO and FORWARD-FROM options in the routing file.
DO_NOT_DISTURB
If you hate to have all that netmail go unanswered when you go on
vacation, or if you are just plain lazy, this option is for you. It
instructs QM to send a predetermined textfile in the form of a netmail
reply to any mail addressed to you that's been sitting for over a
certain number of days in your netmail area. The command is entered:
Do_Not_Disturb n C:\Opus\GoAway.Txt
where 'n' is the age of any message in days that you wish to reply to.
Suppose that Bob sent a message to Greg while Greg was on vacation. If
'n' was set as 2, a message would automatically be sent to Bob after 2
days, that contained the text in 'GoAway.Txt'.
DEFINE_PACKER <constant> <command> <arguments> Limit: 20
By using this statement in conjunction with the "Pack" command (see
below), QM can use whatever archive program you wish with whatever
nodes you wish when packing (archiving) outbound mail.
WARNING!!!!! IF YOU CHANGE THE PACKER FOR A GIVEN NODE, YOU MUST
MANUALLY UNPACK AND REPACK ANY BUNDLES THAT ALREADY EXIST IN YOUR
OUTBOUND AREA FOR THAT NODE. FOR EXAMPLE, IF YOU HAVE A ZOO-CREATED
BUNDLE AND SWITCH TO LHARC, THE FIRST ATTEMPT TO ADD MAIL TO THE ZOO
BUNDLE WILL ABORT.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 25
QM v1.30 January, 1993
PACK <constant> <nodes...> Limit: 50 lines w/64 nodes per line
Basically the way this works is you use the above command to define a
packer and this command to attach certain nodes to that packer. Here's
an example:
DEFINE_PACKER PKARC pkarc -oct a
PACK PKARC 1:106/111 112 113 2:10/10 11/10 11 12 13
The 'constant' can be called anything you want. See the QM
configuration file if you need to see more examples.
CLEAN_OUTBOUND
This parameter triggers a clean-up operation during QM PACK
operations. The parameter MUST ONLY BE USED WITH 100% ATTACH STYLE
OUTBOUNDS in a SEAdog type environment. Use with .?LO Opus/BinkleyTerm
outbounds WILL RESULT IN LOSS OF MAIL.
Clean outbound operates by scanning all ArcMail attach messages and
deleting or truncating all mail packets and bundles that are not
scheduled to be sent. Up to 1024 ArcMail attach messages will be
scanned. If more than 1024 or NO messages are found the clean outbound
operation is not performed.
If your mailer recognizes ^AFLAGS in ArcMail attach messages
Clean_Outbound should not be needed.
USE_FLAGS
Triggers QM to insert ^AFLAGS TFS or ^AFLAGS KFS indicators in ArcMail
attach messages. This tells the mailer what to do with the file after
sending it. TFS is used for packed bundles and causes them to be
truncated to zero bytes after being sent. KFS is used for unpacked
mail bundles and causes them to be killed after being sent.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 26
QM v1.30 January, 1993
Packet Forwarding
PKT_FORWARD <verb> <nodes...> Limit: 25 w/64 nodes per line
Normally, when a bundle comes in with the wrong address, QM will toss
the messages into the network mail directory for processing by the
bundler program. This works fine for small amounts of host-routed
network mail (for which it was intended). But in some cases, it can be
beneficial to route EchoMail through a particular node (after both
parties have agreed, of course). Doing this in high volume can bog
down the receiving system fast, especially if he's running a slow
machine or a slow hard drive.
It's only in these special instances you should use the bundle
forwarding option. When a bundle comes in that's addressed to the
listed node, QM will turn around and re-ARC it into an archive
addressed to that node. This can save a considerable amount of
processing time. The receiving node must be able to handle ARCmail, of
course.
The following are valid verbs for use in with the PKTForward option:
CRASH <=- creates a .CLO attach
HOLD <=- creates a .HLO attach
DIRECT <=- creates a .DLO attach
NORMAL <=- creates a .FLO attach
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 27
QM v1.30 January, 1993
Address Remapper
SAVE_MAPPED_MAIL
When mail is readdressed by the readdressing function, and packed, it
will be deleted by default. Enable this option to always save the
remapped messages in the netmail area.
READDRESS <point_#> <name>
Here's an example:
ReAddress 1 Bob Davis
ReAddress 1 Bob
If a message comes in addressed to your node number, the program will
first look and see if it has a ^aTOPT kludge line. If it does, the
message will be remapped to the proper point node. If it doesn't,
it'll look through the list of names given above (in the config file).
Likewise, if a message comes in from any of your pointnet nodes, the
program will replace your pointnet node number with your primary
matrix address and add a ^aFMPT kludge line (if the message doesn't
already have one).
Remember too this feature only works with the PACK option.
And remapped messages will be behave exactly as normal netmail would.
Thus all the packing options including FORWARD-TO and FORWARD-FROM
will work as normal (see FORWARD options on page 25). Also, the
remapping is done =before= anything else. So if you're already using
FORWARD-TO, be sure to include another line allowing anyone to forward
mail to your points:
FORWARD-TO <point_net>/ALL
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 28
QM v1.30 January, 1993
Routing File
The routing file is read by QM when the PACK option is used. This file
contains all the information necessary for building and routing
compressed and normal mail bundles. The only information not contained
here is for the Pktforward Option (contained in the configuration
file). If you need to change the type of bundle after it is forwarded,
you may do so using the routing commands in this file.
General Rules for Routing File Commands
The routing configuration file may contain as many schedules as you
wish. There is a limit of 200 entries per schedule (this includes any
global entries). With the exception of GATEROUTE, FORWARD-TO, and
FORWARD-FROM, the lines are executed in sequential order.
The routing file commands may contain "verbs" and "nodes". The syntax
of the "verb" is:
Verb Creates File extensions
NORMAL .FLO or .OUT
CRASH .CLO or .CUT
HOLD .HLO or .HUT
DIRECT .DLO or .DUT
EXPRESS (Sets Crash on attach message)
The interpretation of these file extensions varies among various
mailer. Refer to the documentation for your mailer to determine the
exact handling of these file extensions.
The "nodes" field is the full "zone:net/node" number(s). If you omit
"zone" or "net", they will default to that of the previous entry. In
other words,
1:106/111 107/110 109
is the same as
1:106/111 1:107/110 1:107/109.
SCHED <tag> <day> [<start_time> <end_time>]
You'll have to have at least 1 schedule to make QM PACK work properly.
Here's an explanation of the options:
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 29
QM v1.30 January, 1993
<tag>
Any text up to 32 characters in length (but no spaces). If you'd like
to override a specific day/time, use the command line '-s' option
followed by the schedule name.
<day>
The day may be any combination of the following:
All Every day
Week Week days only (Monday through Friday)
WkEnd Weekend days only (Saturday and Sunday)
Sun Sunday only
Mon Monday only
Tue Tuesday only
Wed Wednesday only
Thu Thursday only
Fri Friday only
Sat Saturday only
Sun Sunday only
In addition, you may join the days with the '|' symbol. As an example,
"Sun|Mon" would mean the schedule would only be active on Sunday or
Monday.
<start_time> <end_time>
This is the starting and ending time of the schedule (in military
time).
The default packing operation is to generate outbound files using .?LO
lists for "black hole" static list style mailers such as Opus and
BinkleyTerm. This default operation can be changed for any packing
operation by adding the literal MSG to the routing command. When MSG
is used QM sends mail bundles to listed addresses using NetMail file
attaches for mailers such as SEAdog, D'Bridge, InterMail and
FrontDoor.
Use of a combination of MSG and non-MSG outbound packing will allow
operation with a combination of mailers online on a system without a
need to use multiple mail processors or configurations.
SEND [NoArc] [Msg] <verb> <nodes...>
This command will instruct QM PACK to send any .OUT files for the
listed nodes individually. It is roughly the same as oMMM's "One"
commands. In other words:
oMMM: QM PACK: Resulting file:
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 30
QM v1.30 January, 1993
OneCM SEND CRASH NNNNnnnn.CLO
OneDirect SEND DIRECT NNNNnnnn.DLO
OneHold SEND HOLD NNNNnnnn.HLO
SEND NORMAL NNNNnnnn.FLO
By default, the bundles are compressed. You may prevent compressing,
by using the 'NoArc' option. If the 'NoArc' option is included, the
action would be:
QM PACK: Resulting File:
SEND NOARC CRASH NNNNnnnn.CUT
SEND NOARC DIRECT NNNNnnnn.DUT
SEND NOARC HOLD NNNNnnnn.HUT
SEND NOARC NORMAL NNNNnnnn.OUT
Here's an example:
SEND NoArc CRASH 106/111
This would rename a .OUT file addressed to 106/111 to .CUT rather than
archiving it. If a .CUT already existed, QM would append the .OUT to
the end of the .CUT.
ROUTE [NoArc] [MSG] <verb> <hub_node> <nodes...>
This command instructs QM PACK to archive any .OUT files for the
listed nodes to the "hub_node". It's roughly the same as oMMM's "ARC"
commands. In other words:
oMMM: QM PACK: Resulting file:
ArcCM ROUTE CRASH NNNNnnnn.CLO
ArcDirect ROUTE DIRECT NNNNnnnn.DLO
ArcHold ROUTE HOLD NNNNnnnn.HLO
ROUTE NORMAL NNNNnnnn.FLO
By default, the bundles are compressed. You may prevent compressing,
by using the 'NoArc' option. If the 'NoArc' option is included, the
action would be:
QM PACK: Resulting File:
ROUTE NOARC CRASH NNNNnnnn.CUT
ROUTE NOARC DIRECT NNNNnnnn.DUT
ROUTE NOARC HOLD NNNNnnnn.HUT
ROUTE NOARC NORMAL NNNNnnnn.OUT
Here's an example:
ROUTE NoArc CRASH 106/20 106/111
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 31
QM v1.30 January, 1993
This would readdress a .OUT file addressed to 106/111 to 106/20 and
change it to a .CUT rather than archiving it. If a .CUT already
existed, QM would append the .OUT to the end of the .CUT.
LEAVE <nodes...> Limit: 64 nodes per statement
LEAVE in QM works basically the same as in oMMM. It allows a way of
keeping mail from being sent by your mailer, but at the same time
allowing you to restore it back to it's original flavor. Here's the
effect:
NNNNnnnn.?UT -=> NNNNnnnn.N?T
NNNNnnnn.?LO -=> NNNNnnnn.N?O
UNLEAVE <nodes...> Limit: 64 nodes per statement
And later, you can use UNLEAVE to restore any bundles the have been
left by LEAVE. Here is the effect:
NNNNnnnn.N?T -=> NNNNnnnn.?UT
NNNNnnnn.N?O -=> NNNNnnnn.?LO
CHANGE <from_verb> <to_verb> <nodes...>
This instructs QM PACK to change any .?LO or .?UT files for the listed
nodes from one type to another. In other words, the command "CHANGE
CRASH HOLD 1/1" would have the following effect:
00010001.CLO -> 00010001.HLO
00010001.CUT -> 00010001.HUT
Or the command "CHANGE HOLD NORMAL 106/all 2:all" would change any
.HLO files to .FLO files and .HUT files to .OUT files for all the
nodes in net 106 and all the nodes in zone 2.
POLL [Msg] <verb> <nodes...>
This instructs QM PACK to create a dummy .?LO file for the listed
nodes if one doesn't already exist. Here's the table:
Verb: Resulting dummy poll file:
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 32
QM v1.30 January, 1993
CRASH NNNNnnnn.CLO
DIRECT NNNNnnnn.DLO
HOLD NNNNnnnn.HLO
NORMAL NNNNnnnn.FLO
EXPRESS NNNNnnnn.CUT
ATTACH [Msg] <verb> <file1+file2+file3...> <nodes...>
This command allows you attach a certain file to the listed nodes. You
may use wildcards or multiple filenames separated by the '+' (plus)
symbol. For example:
ATTACH CRASH C:\Opus\Areas111.Bbs 106/386 889
You may also use either the '^' (carat) or '#' (pound) symbol in front
of the file name to specify the file should be deleted or truncated,
respectively, after transmission. In other words, the file would be
deleted with the following command:
ATTACH CRASH ^C:\Opus\Areas111.Bbs 106/386
Make sure, though, if you use either symbol you specify only 1 node.
Otherwise the file will be deleted or truncated after it is sent and
the other nodes will not get it!
GET [Msg] <verb> <file+file+file...> <nodes...>
This instructs QM PACK to generate a .REQ file for the listed nodes.
You may chain the requested files with the '+' (plus) symbol. As an
example, to request the files "Foo.Arc" and "QM.Zoo" from both nodes
106/111 and 106/386, use the following command:
GET CRASH Foo.Arc+QM.Zoo 106/111 386
GATEROUTE <verb> <zone_gate> <nodes...>
This instructs QM PACK to route any netmail destined for a zone other
than the default (see the Primary_Zone command) through a specified
node (the zonegate). For instance, if you had a netmail message
addressed to 3:255/1, and you were in zone 1, you'd use the following
command:
GATEROUTE CRASH 1:1/3 3:255/1
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 33
QM v1.30 January, 1993
Or if you'd like to route any netmail destined for zone 2 through the
zone 2 gate, use the following command:
GATEROUTE NORMAL 1:1/2 2:all
It's important to remember that any netmail messages intended to be
sent to another zone MUST include a ^aINTL line. Most editors will
insert this line when messages are destined for other zones.
Note: GATEROUTE will NOT create compressed mail bundles.
FORWARD-TO [FILE] <nodes...>
This instructs QM PACK to only forward netmail to the listed nodes.
For instance, if you wished to allow anyone to forward messages to any
node in net 106 or net 151 but nowhere else, you'd use the following
command:
FORWARD-TO 1:106/all 151/all
And if you'd like to let anyone forward messages =and= attached files
to node 106/111 and any node in net 101, use the following command:
FORWARD-TO FILE 1:106/111 101/all
FORWARD-FROM [FILE] <nodes...>
This command allows the listed nodes to forward netmail and/or a file
(if you specify "FILE") destined for =any= node through your system.
In other words if you'd like node 1:106/1 to forward mail to anyone
specify the following command:
FORWARD-FROM 1:106/1
DOS <command> [arguments]
This allows you to invoke any .bat/.exe/.com file from within the
matrix packer. DOS command are executed in sequential order just like
the other commands. Use SWAP in QM.CFG to make sure DOS operations
will have enough memory.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 34
QM v1.30 January, 1993
This capability is well suited for running programs like copymail
during PACK operations. This effectively lets you customize QM's
packing operation to suit your own special requirements. The DOS
command is executed during every pack cycle, including during every
Max Msgs pack in a Scan Pack operation.
DO NOT run any program or BATch file that executes QM or changes
message area contents.
UPDATE [Msg] <verb> <filespec> <nodes...>
This generates a file update request. The 'filespec' may contain
wildcards, in which case QM will expand them to their fully qualified
file names. For more information on update requests, refer to the
BinkleyTerm manual.
HOSTROUTE [Msg] max_bytes]
This tells QM to host route any remaining .OUT files for not only your
zone, but all other zones as well. The host routing will occur at the
point in which it appears in the routing file. To prevent the
inadvertent routing of regional nodes, net numbers less that 100 are
ignored in the host route command.
The packer will not touch any files over 'max_bytes' long (if it's
specified).
HOSTROUTEEXCLUDE <z:n z:n z:n...> Limit: 128 nodes
These are Zone:Net numbers to exclude from the HOSTROUTE command. The
Zone field is optional. If not specified, the program will use the
previous zone entry, or your primary zone number, whichever is
applicable.
NETMAIL_SCAN <directory>
This command will cause QM to perform a netmail scan on the specified
directory. There are some twists though. If QM detects that you've
used a "NetMail_Scan" command, it WILL NOT perform a netmail scan from
the default netmail area.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 35
QM v1.30 January, 1993
This command will not be executed until ALL mail is packed. If QM
stops to pack mail because it hits a "Max_msgs" limit (specified in
QM.CFG), the scan will be delayed until QM returns and completes
packing.
DEFINE <constant> <expression> Limit: 200
Here you can define a constant that will be replaced with 'expression'
wherever found. Remember, nothing is case sensitive. Here's an
example:
DEFINE SendToGreg SEND CRASH 1:106/111
The program will insert "SEND CRASH 1:106/111" where it finds the
=separate word= "SendToGreg". In other words, the program would
ignore:
SendToGregNow
However, you can get around this by using parentheses around the word.
As another example, let's define the following:
DEFINE OurNet 106
Wherever you use the word "(OurNet)", the program will insert "106".
So we can now say:
ROUTE CRASH 106/0 (OurNet)/all
You could also say:
DEFINE OurHost (OurNetwork)/0
DEFINE OurNet (OurNetwork)/all
DEFINE OurNetwork 106
In which case, the line:
ROUTE CRASH OurHost OurNet
Would be replaced with:
ROUTE CRASH 106/0 106/all
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 36
QM v1.30 January, 1993
Exit Errorlevels
Upon exit, QM will register a DOS error level based on the following:
0 No messages were tossed or exported
1 Messages were tossed
2 Error during processing
3 Disk full error
4 Messages were scanned and exported
5 'MaxMsgs' were exported (see config file)
6 Only netmail was received
7 Unpack was requested and compressed mail was unpacked
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 37
QM v1.30 January, 1993
Origin Lines
When QM is tossing packets, it will kill any messages without an
origin line.
When QM is scanning and finds a message already inside your message
base without an origin line, it will add one. The information for that
line can come from either of 2 sources.
1) The very first line in your echomail control file (the string
before the exclamation point).
2) A file by the name of 'ORIGIN.[###]' in the message subdirectory.
As an example of the second source, the program will use the contents
of the file "ORIGIN." in the subdirectory where the messages reside,
(along with your primary matrix address). Up to the first 60 bytes are
used, ignoring leading and trailing spaces. This allows you to have
custom origin lines for each message area.
As an added bonus, you may give the "ORIGIN." filename an extension
that will directly correspond to your aka addresses. Thus the file
"ORIGIN.002" will cause the program to use your 2nd aka address
instead of your primary. You may have up to 19 aka addresses.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 38
QM v1.30 January, 1993
NetMail Message Processing
Several facilities are supported by QM via the Netmail message, in
addition to the routing file.
File Update Requests
A file update request generated in a netmail message will be processed
by QM to generate the appropriate files in the outbound message area,
as supported by BinkleyTerm.
File Requests
A Wazoo style file request can be generated in a netmail message by
just writing the filename in the subject line. QM will find the
message and generate the appropriate .REQ packet in the outbound area.
If a password is required, just show it in the subject line. For
example to request "Apples.doc" with a password of "boo-boo", enter
the subject line:
Apples.Doc !boo-hoo
File Attach
File attach messages are supported as with other mail processors,
including multiple filenames on the subject line separated by spaces.
Additionally, you can add the attributes supported by BinkleyTerm to
zero out the file or delete it after transmission. Just place the
appropriate character in front of the filename.
The '^' will cause the file to be deleted after transmission:
^c:\utility\tsrcom28.zip
The '#' will cause the file to set to zero length after transmission:
#c:\special\nodediff.a27
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 39
QM v1.30 January, 1993
QM Licensing and Distribution Agreement
Copyright (C) 1988-93 by Greg Dawson and George Peace. ALL RIGHTS
RESERVED. COMMERCIAL DISTRIBUTION AND/OR USE PROHIBITED WITHOUT
WRITTEN PERMISSION FROM Greg Dawson or George Peace.
Non-Commercial distribution and/or use is permitted under the
following terms:
1. You may copy and distribute copies of QM executable code as you
receive it, in any medium, provided that you do so in a lawful,
friendly manner and that you conspicuously and appropriately
publish on each copy of each file that is a part of the
distribution package a valid copyright notice:
"Copyright (C) 1993 Greg Dawson and George Peace. Any copies
that you distribute must be distributed free of charge to the
recipient of the copy. QM may not be sold and you may not rent or
lease it to any other person."
2. You must keep this License Agreement intact and give any other
recipients of the QM program a copy of this License Agreement
along with the program.
3. You must distribute QM in unmodified form. You may not add an
advertisement for your Bulletin Board System, User Group, or
anything else either as a file in the distribution packet or as a
header in any archive. You may not add, modify or delete any of
the files in the QM distribution archive.
4. QM must be distributed for free. You may not charge a
distribution fee for the physical act of transferring a copy of
this program. You may not place this program in any file area of
a Bulletin Board System where a fee is required for download.
5. QM may not be distributed in any way as part of a package that is
part of a sales transaction whether that package be other
software or hardware, such as a modem, CD-ROM, Hard Drive, or any
software collections.
6. You may not modify your copy or copies of QM or any portion of it
and you can not copy and distribute any modifications. QM is
distributed in ZIP format. You may distribute it in any other
compressed form as long as the original eight character release
filename is not changed.
7. You may not copy, sublicense, distribute or transfer QM except as
expressly provided under this License Agreement. Any attempt
otherwise to copy, sublicense, distribute or transfer QM is void
and your rights to use the program under this License agreement
shall be automatically terminated.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 40
QM v1.30 January, 1993
8. You may not incorporate parts of QM into other programs without
the written permission of George Peace. Permission may or may
not be granted based upon a determination of how your intended
use.
9. For the purposes of this document, "COMMERCIAL USE" is defined as
concurrent operation of the software on three or more computers
or data lines owned by the same for-profit organization. Any
organization may operate this software under the terms of this
Non-Commercial Agreement if operation is limited to two or less
computers or data lines.
10. You may use the software only after understanding and agreeing
upon the above terms.
NO WARRANTY
QM IS LICENSED FREE OF CHARGE AND THERE IS ABSOLUTELY NO WARRANTY.
GREG DAWSON, GEORGE PEACE AND ANY OTHER PERSONS THAT MAY BE INVOLVED
IN THE MANUFACTURE AND DISTRIBUTION OF QM PROVIDE QM "AS IS" WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE.
THIS PROGRAM IS GUARANTEED TO DO ABSOLUTELY NOTHING. USE IT AT YOUR
OWN RISK. NEITHER GREG DAWSON NOR GEORGE PEACE NOR ANY OTHER PERSON
INVOLVED IN IT'S MANUFACTURE OR DISTRIBUTION IS RESPONSIBLE IN ANY
WAY, FOR ANY DAMAGES RESULTING FROM ITS USE OR MISUSE, DIRECTLY OR
INDIRECTLY.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF QM IS ENTIRELY
WITH YOU. SHOULD QM PROVE DEFECTIVE YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR OTHER DAMAGES TO YOUR EQUIPMENT,
SOFTWARE, OR OTHER PROPERTY.
NEITHER GREG DAWSON, GEORGE PEACE NOR ANY OTHER PERSON INVOLVED IN
IT'S MANUFACTURE OR DISTRIBUTION ARE RESPONSIBLE TO YOU FOR DAMAGES,
INCLUDING BUT NOT LIMITED TO, ANY LOST PROFITS, LOST MONIES, OR OTHER
SPECIAL, GENERAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) OR ANY
OTHER LOSS EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 41
QM v1.30 January, 1993
Technical Support
Since QM is provided free of charge, there is no guarantee of
technical support. However, you may contact me by Fidonet mail at the
address below. If we have the time we will try to help you. A FidoNet
Echomail Conference call QM_ECHO is available from the FidoNet Zone 1
EchoMail Backbone to assist you.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 42
QM v1.30 January, 1993
Appendix A, Limits and Sizes
Memory Requirements
Memory required for QM:
Toss 203k
Scan 333k
Pack 177k
Toss Scan 333k
Scan Pack 373k
Toss Scan Pack 373k
Memory required for QMLite:
Toss 172k
Scan 215k
Pack 171kk
Toss Scan 215k
Scan Pack 223k
Toss Scan Pack 223k
Memory for Dos command shell (Dos 3.3) . . . . . . . . 3.9k
Memory for compression program . . . . . . . . . . 100-250k
Configuration File Limits
Number of areas 2048
ADD_TO_SEEN 10 nodes
AKA 19 nodes
DEFINE_PACKER 20 definition lines
DUPES 2 - 10000 messages
ARC_UNPACK
LHARC_UNPACK
ZIP_UNPACK
ZOO_UNPACK 10 definition lines
NETFILE 10 directories
OUTBOUND 10 directories
PACK 50 lines w/64 nodes per line
PASSWORD 128 definition lines
PKT_FORWARD 25 definition lines w/64 nodes per line
ZONEGATE 64 definition lines w/16 nodes per gate
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 43
QM v1.30 January, 1993
Routing File Limits
HOSTROUTEEXCLUDE 128 nodes
NUMBER OF ENTRIES PER SCHEDULE 200 definition lines
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 44
QM v1.30 January, 1993
Appendix B, Other Technical Notes
Duplicate Checking
The duplicate checking mechanism in QM is based on a combination of a
2 byte CRC of message header fields and a 4 byte binary representation
of the date/time of message creation. Duplicate information is
maintained internally and on disk in the duplicate file as 6 byte
binary records.
The QM duplicate checking mechanism significantly reduces chances of
duplicate messages reentering the QM user's system. This mechanism
assures that messages with similar content or time of creation will
not be mistaken for duplicates as can occur with older mechanisms. QM
does not use the highly volatile message body for CRC calculation in
order to detect duplicates even when the message body has been grunged
or altered in transit.
The 2 byte CRC is calculated for each message arriving at your system
(toss) or each locally generated message leaving your system (scan).
CRC generation consists of:
1) The complete (35 character) message 'From:' field or up to an @
character.
2) The complete (35 character) message 'To:' field.
3) The complete (71 character) message subject field, skipping
leading 'RE: ' strings.
4) The last character of the date/time of message creation.
NOTE: All text fields are converted to upper case for CRC computation.
Some folks will doubtless be curious about item 4. This is necessary
to assure a unique six byte duplicate record.
A four byte binary date/time representation is guaranteed unique only
at three second intervals. Three messages with identical from, to, and
subject fields entered in three consecutive seconds generate only 2
unique duplicate records. This results in a false duplicate situation.
Rather than expand the 6 byte duplicate check record to assure one
second date/time field granularity QM uses the seconds digit of
message creation time as part of the CRC calculation.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 45
QM v1.30 January, 1993
Point Readdresser
QM's point readdresser will readdress any message with a ^aFMPT or
^aTOPT kludge line to the proper node. You can also specify names to
look for in the 'To:' field and readdress them to the proper point
(like Bob Hartman's ReMapper program).
Tossing Compressed Mail in Date/Time Order
Compressed mail bundles are tossed in date/time order, no matter what
order they in which they were received or located in the netfile
directory, beginning with .SU?, .MO?, etc. .PKT files are tossed in
date/time order also.
Node Number Syntax Shortcuts
QM supports some shortcuts in the specification of Zone, Net, and Node
numbers. The first shortcut is the assumed Zone or Net number. These
lines are all equivalent:
1:106/111 1:106/114 1:382/1
1:106/111 106/114 382/1 (Zone 1 is defaulted)
1:106/111 114 382/1 (Zone 1 and net 106 are defaulted)
The second shortcut is the use of the word "all". It is a global
specifier that can be used to mean all nodes in a net or all nodes in
a zone:
1:All (refers to all nodes in Zone 1)
1:106/All (refers to all nodes in Net 106)
106/All (refers to all nodes in Net 106,
with your primary zone assumed)
Large Messages
Messages greater than 30k in length are tossed in their entirety to
the BAD_MSGS directory.
(C)1988-93 Greg Dawson & George Peace. All rights reserved page 46
QM v1.30 January, 1993
No Content Messages
When counting the bytes in the body of a message, any line beginning
with a control-A is not counted, as well any leading carriage returns,
line feeds, and spaces.
(C) 1988-93 Greg Dawson & George Peace. All rights reserved page 47